package org.blame;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.params.SetParams;

import java.util.Set;

public class JedisDemoGeneral {
    public static void main(String[] args) {
        JedisPool jedisPool=new JedisPool("tcp://127.0.0.1:8888");
//        try的作用是用完会自动的关闭（）中的资源，不需要你手动进行关闭
        try(Jedis jedis=jedisPool.getResource()){
//在Jedis中的各种方法中，都对应着redis中的各种命令
//            String pong=jedis.ping();
//            System.out.println(pong);
//            test1(jedis);
//            test2(jedis);
//            test3(jedis);
//            test4(jedis);
            test5(jedis);
        }
    }



    public static void test5(Jedis jedis){
        jedis.flushAll();
        jedis.set("k1","11");
        String k = jedis.type("k1");
        System.out.println(k);
        jedis.lpush("k2","12","22");
        k=jedis.type("k2");
        System.out.println(k);
        jedis.hset("k5","hm","12");
        k=jedis.type("k5");
        System.out.println(k);

        jedis.sadd("k3","2");
        k=jedis.type("k3");
        System.out.println(k);
        jedis.zadd("k4",12,"ixaohei");
        k=jedis.type("k4");
        System.out.println(k);
    }
    public static void test4(Jedis jedis){
        jedis.flushAll();
        jedis.set("k","123");
        try {
            Thread.sleep(4000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        long k = jedis.ttl("k");
        System.out.println(k);

    }
    public static void test3(Jedis jedis){
        jedis.flushAll();
        jedis.set("a","123");
        jedis.set("b","555");
        Set<String> keys = jedis.keys("*");
        System.out.println(keys);
    }

    public static void test2(Jedis jedis){
        System.out.println(" del和 exist");
        jedis.set("key","123");
        jedis.set("key2","1234");
        boolean key = jedis.exists("key");
        System.out.println(key);

//        del中支持删除多个key
        long key2 = jedis.del("key2");
        System.out.println(key2);
        boolean key3 = jedis.exists("key2");
        System.out.println(key3);
    }
    public static void test1(Jedis jedis){
        jedis.set("a","123");
        jedis.set("b","555");

        SetParams params=new SetParams();
        params.ex(10);
        params.xx();
        jedis.set("a","888",params);
        String ret1=jedis.get("a");
        String ret2=jedis.get("b");
        System.out.println(ret1);
        System.out.println(ret2);
    }

}
